#include <iostream>
#include <vector>
using namespace std;

template <typename T>
void print(const std::vector<T>& vec) {
    for (auto v : vec) {
        std::cout << v << ", ";
    }
    std::cout << std::endl;
}

class Solution {
  public:
    vector<int> plusOne(vector<int>& digits) {
        for (int i = digits.size() - 1; i >= 0; --i) {
            ++digits[i];
            if (digits[i] < 10) return digits;
            digits[i] -= 10;
        }
        digits.insert(digits.begin(), 1);
        return digits;
    }
};

int main() {
    Solution s;
    std::vector<int> vec{9, 9, 9};
    print(s.plusOne(vec));
}
